package com.OtherExercises;

import java.util.Scanner;

public class 旅游案例 {
    public static void main(String[] args) {

        /*机票初始价格为5000元,根据月份分为淡季和旺季,根据舱位分为头等舱和经济舱,不同组合会有不同的折扣,4-8月为旺季,9-3月为淡季,具体折扣信息如下:
         * 旺季的头等舱:9折
         * 旺季的经济舱:8折
         * 淡季的头等舱:7折
         * 淡季的经济舱:5折
         *若现有一人在2月份想要购买经济舱机票,那么他需要花费多少钱?*/

        int originalPrice = 5000;//用于表示原价
        double favorablePrice = 9999;//用于表示最终优惠价
        String ticketType = "空";//用于表示机票类型
        int month = 1;//用于表示购票月份
        double discount = 1;//用于表示折扣程度
        String temp;

        Scanner sc = new Scanner(System.in);


        while (true) {

            System.out.println("\n请输入想要购票的月份(1-12之间的整数),以及机票的类型(头等舱/经济舱),之间以空格作为分隔:");
            month = sc.nextInt();
            ticketType = sc.next();


            while (month < 1 || month > 12 || (!ticketType.equals("头等舱") && !ticketType.equals("经济舱"))) {
                System.out.println("\n输入的信息有误,请重新输入!\n");
                System.out.println("请输入想要购票的月份(1-12之间的整数),以及机票的类型(头等舱/经济舱),之间以空格作为分隔:");
                month = sc.nextInt();
                ticketType = sc.next();
            }

            switch (month) {
                case 4:
                case 5:
                case 6:
                case 7:
                case 8:
                    favorablePrice = 5000 * (discount = ticketType.equals("头等舱") ? 0.9 : 0.8);
                    break;
                case 9:
                case 10:
                case 11:
                case 12:
                case 1:
                case 2:
                case 3:
                    favorablePrice = 5000 * (discount = ticketType.equals("头等舱") ? 0.7 : 0.5);
                    break;
                default:
                    //无需处理
            }
            System.out.println("在" + month + "月购买" + ticketType + "机票可以享受" + (int) (discount * 10) + "折,最终优惠价是:" + favorablePrice + "元");


            while (true) {
                System.out.println("\n需要退出程序吗?(Y/N)");
                temp = sc.next();
                if (temp.equals("Y") || temp.equals("y")) {
                    return;
                } else if (temp.equals("N") || temp.equals("n")) {
                    break;
                } else {
                    System.out.println("输入有误!请重输!");
                }
            }

        }

    }
}
